The present disclosure relates to a method and apparatus for handling network I/O device virtualization.
Virtualization technology is a technology that abstracts various physical resources and present them to users and it is the most important technology when constructing a cloud computing environment. There are various virtualization technologies including system virtualization technology, which is a virtualization technology for hardware devices existing in physical servers such as a central processing unit (CPU), memory, and I/O device, operating system virtualization technology, which is a technology for isolating or distributing shared resources based on containers while sharing the kernel, and so on.
Among the various virtualization technologies, system virtualization technology provides the flexibility of the infrastructure of the cloud and has the most significant impact on the performance of the physical server. In system virtualization technology, virtualization is performed on the central processing unit, memory, I/O device, etc. through system software called ‘hypervisor’ or ‘virtual machine monitor’. According to the system virtualization technology, virtualized resources can be allocated to a logical space called a virtual machine, thereby providing an environment capable of operating a plurality of logical devices in one physical device.
System virtualization technology can be divided into paravirtualization technology that improves performance through modification of guest operating system instruction set and full virtualization technology which performs emulation for all instructions without modifying instruction set. Recently, technologies such as Intel's VT (Virtualization Technology) and AMD's SVM (Secure Virtual Machine) have been widely used to minimize the cost of central processing unit and memory virtualization with the help of hardware.
Still, there are various limitations in using conventional virtualization technology, and a new virtualization method is desired to improve it.